package com.subang.function.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.subang.common.annotation.Excel;
import com.subang.common.core.domain.BaseEntity;

/**
 * 答题记录对象 sb_answer_record
 *
 * @author subei
 * @date 2025-09-18
 */
public class SbAnswerRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    @Excel(name = "用户昵称")
    private String userName;

    /** 训练模式类型 */
    @Excel(name = "训练模式类型")
    private String modeType;

    /** 训练模式标题 */
    @Excel(name = "训练模式标题")
    private String modeTitle;

    /** 训练模式最高分 */
    @Excel(name = "训练模式最高分")
    private Long modeBest;

    /** 训练次数 */
    @Excel(name = "训练次数")
    private Long modeIterations;

    /** 训练模式总分 */
    @Excel(name = "训练模式总分")
    private Long modeTotalPoints;

    /** 总题数 */
    @Excel(name = "总题数")
    private Long totalQuestions;

    /** 总得分 */
    @Excel(name = "总得分")
    private Long totalPoints;

    /** 正确题数 */
    @Excel(name = "正确题数")
    private Long correctCount;

    /** 错误题数 */
    @Excel(name = "错误题数")
    private Long wrongCount;

    /** 总用时（秒） */
    @Excel(name = "总用时", readConverterExp = "秒=")
    private Long totalTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    public void setModeType(String modeType)
    {
        this.modeType = modeType;
    }

    public String getModeType()
    {
        return modeType;
    }

    public void setModeTitle(String modeTitle)
    {
        this.modeTitle = modeTitle;
    }

    public String getModeTitle()
    {
        return modeTitle;
    }

    public void setModeBest(Long modeBest)
    {
        this.modeBest = modeBest;
    }

    public Long getModeBest()
    {
        return modeBest;
    }

    public void setModeIterations(Long modeIterations)
    {
        this.modeIterations = modeIterations;
    }

    public Long getModeIterations()
    {
        return modeIterations;
    }

    public void setModeTotalPoints(Long modeTotalPoints)
    {
        this.modeTotalPoints = modeTotalPoints;
    }

    public Long getModeTotalPoints()
    {
        return modeTotalPoints;
    }

    public void setTotalQuestions(Long totalQuestions)
    {
        this.totalQuestions = totalQuestions;
    }

    public Long getTotalQuestions()
    {
        return totalQuestions;
    }

    public void setTotalPoints(Long totalPoints)
    {
        this.totalPoints = totalPoints;
    }

    public Long getTotalPoints()
    {
        return totalPoints;
    }

    public void setCorrectCount(Long correctCount)
    {
        this.correctCount = correctCount;
    }

    public Long getCorrectCount()
    {
        return correctCount;
    }

    public void setWrongCount(Long wrongCount)
    {
        this.wrongCount = wrongCount;
    }

    public Long getWrongCount()
    {
        return wrongCount;
    }

    public void setTotalTime(Long totalTime)
    {
        this.totalTime = totalTime;
    }

    public Long getTotalTime()
    {
        return totalTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("userName", getUserName())
                .append("modeType", getModeType())
                .append("modeTitle", getModeTitle())
                .append("modeBest", getModeBest())
                .append("modeIterations", getModeIterations())
                .append("modeTotalPoints", getModeTotalPoints())
                .append("totalQuestions", getTotalQuestions())
                .append("totalPoints", getTotalPoints())
                .append("correctCount", getCorrectCount())
                .append("wrongCount", getWrongCount())
                .append("totalTime", getTotalTime())
                .append("createTime", getCreateTime())
                .toString();
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}
